TimesTenでは、NCHAR型の双方向の変換に対するサポートが制限されています。サポートされている変換(バインディング)は、次の型の組合せです。
SQL_WCHAR、SQL_WVARCHARからSQL_C_WCHAR、SQL_C_BINARY
C型識別子(TargetType) | テスト | TargetValuePtr1 | *StrLen_or_IndPtr2 | SQLSTATE |
SQL_C_WCHAR | データのバイト長 < バッファ長 | データ | データ長(バイト) | N/A |
データのバイト長 >= バッファ長 | 切り捨てられたデータ† | データ長(バイト) | 01004 |
|
SQL_C_BINARY | データのバイト長 <= バッファ長 | データ | データ長(バイト) | N/A |
データのバイト長 > バッファ長 | 切り捨てられたデータ‡ | データ長(バイト) | 01004 |
1データは文字(2バイト)境界で切り捨てられます。 2データはバイト境界で切り捨てられます。バッファ長が奇数の場合、文字の一部が返されます。 |
SQLBindColまたはSQLGetDataのfcType引数に、SQL_WCHARまたはSQL_WVARCHARから前述したODBC Cデータ型以外のODBC Cデータ型への変換を指定する識別子が含まれている場合、SQLFetchまたはSQLGetDataは、SQLSTATE S1C00(Driver not capable)を返します。
他のSQL型からSQL_C_WCHARに変換しようとすると、SQLSTATE 07006(Restricted data type attribute violation)が返されます。
SQL_C_WCHARからSQL_WCHAR、SQL_WVARCHAR
SQLBindParameterのfcType引数に、SQL_C_WCHARおよびSQL_C_BINARY以外の識別子、あるいはfSQlTypeのSQL_WCHARまたはSQL_WVARCHARが含まれている場合、SQLBindParameterまたはSQLExecuteのいずれかがSQLSTATE S1C00(Driver not capable)を返します。
SQL_C_WCHARからSQL_WCHARまたはSQL_WVARCHAR以外のSQL型に変換しようとすると、SQLSTATE 07006(Restricted data type attribute violation)が返されます。